home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / lib / tex / inputs / declare.tex < prev    next >
Text File  |  1991-05-20  |  1KB  |  33 lines

  1. % File:       TeX Inputs declare.tex
  2. % Author:     J E Pittman
  3. % Bitnet:     JEPTeX@TAMVenus
  4. % Internet:   JEPTeX@Venus.TAMU.EDU
  5. % Date:       September 29, 1988
  6. %
  7. % These macros provide a method of locally allocating registers 
  8. % without interference with previously allocated registers.  The 
  9. % method is the same as on pages 346--347 of the \TeX book, however, 
  10. % the declare macros are intended for local use only.  It is a logical 
  11. % error to use a "new" macro between a declare macro and the end of the 
  12. % appropriate enclosing group. 
  13. %
  14. % Extended by Jerry Leichter, 29-Nov-88, to include \declareif.
  15. %
  16. \def\declarecount {\allocate0\countdef}%
  17. \def\declaredimen {\allocate1\dimendef}%
  18. \def\declareskip  {\allocate2\skipdef}%
  19. \def\declaremuskip{\allocate3\muskipdef}%
  20. \def\declarebox   {\allocate4\chardef}%
  21. \def\declaretoks  {\allocate5\toksdef}%
  22. %
  23. \def\allocate#1#2#3{\relax
  24.   \advance\count1#1 by 1
  25.   \ifnum\count1#1<\count19
  26.   \else
  27.      \errmessage{No room for \string#3!}%
  28.   \fi
  29.   #2#3=\count1#1
  30. }
  31. %
  32. {\let\newif\relax \gdef\declareif{\newif}}
  33.